<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
  <head>
    <title></title>
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
    <script type="text/javascript" src="../internal.js"></script>
    <style type="text/css">
      .wrapper {
        width: 600px;
        padding: 10px;
        height: 352px;
        overflow: hidden;
        position: relative;
        border-bottom: 1px solid #d7d7d7;
      }
      .localPath input {
        float: left;
        width: 350px;
        line-height: 20px;
        height: 20px;
      }
      #clipboard {
        float: left;
        width: 70px;
        height: 30px;
      }
      .description {
        color: #0066cc;
        margin-top: 2px;
        width: 450px;
        height: 45px;
        float: left;
        line-height: 22px;
      }
      #upload {
        width: 100px;
        height: 30px;
        float: right;
        margin: 10px 2px 0 0;
        cursor: pointer;
      }
      #msg {
        width: 140px;
        height: 30px;
        line-height: 25px;
        float: left;
        color: red;
      }
    </style>
  </head>
  <body>
    <div class="wrapper">
      <div class="localPath">
        <input id="localPath" type="text" readonly />
        <div id="clipboard"></div>
        <div id="msg"></div>
      </div>
      <div id="flashContainer"></div>
      <div>
        <div id="upload" style="display: none"><img id="uploadBtn" /></div>
        <div class="description">
          <span style="color: red"><var id="lang_resave"></var>: </span
          ><var id="lang_step"></var>
        </div>
      </div>
    </div>
    <script type="text/javascript" src="tangram.js"></script>
    <script type="text/javascript" src="wordimage.js"></script>
    <script type="text/javascript">
      editor.setOpt({
        wordImageFieldName: "upfile",
        compressSide: 0,
        maxImageSideLength: 900,
      });

      //全局变量
      var imageUrls = [], //用于保存从服务器返回的图片信息数组
        selectedImageCount = 0, //当前已选择的但未上传的图片数量
        optImageUrl = editor.getActionUrl(editor.getOpt("imageActionName")),
        optImageFieldName = editor.getOpt("imageFieldName"),
        optImageCompressBorder = editor.getOpt("imageCompressEnable")
          ? editor.getOpt("imageCompressBorder")
          : null,
        maxSize = editor.getOpt("imageMaxSize") / 1024,
        extension = editor
          .getOpt("imageAllowFiles")
          .join(";")
          .replace(/\./g, "*.");

      /* 添加额外的GET参数 */
      var params =
          utils.serializeParam(editor.queryCommandValue("serverparam")) || "",
        urlWidthParams =
          optImageUrl + (optImageUrl.indexOf("?") == -1 ? "?" : "&") + params;

      utils.domReady(function () {
        //创建Flash相关的参数集合
        var flashOptions = {
          container: "flashContainer", //flash容器id
          url: urlWidthParams, // 上传处理页面的url地址
          ext: editor.queryCommandValue("serverParam") || {}, //可向服务器提交的自定义参数列表
          fileType:
            '{"description":"' +
            lang.fileType +
            '", "extension":"' +
            extension +
            '"}', //上传文件格式限制
          flashUrl: "imageUploader.swf", //上传用的flash组件地址
          width: 600, //flash的宽度
          height: 272, //flash的高度
          gridWidth: 120, // 每一个预览图片所占的宽度
          gridHeight: 120, // 每一个预览图片所占的高度
          picWidth: 100, // 单张预览图片的宽度
          picHeight: 100, // 单张预览图片的高度
          uploadDataFieldName: optImageFieldName, // POST请求中图片数据的key
          picDescFieldName: "pictitle", // POST请求中图片描述的key
          maxSize: maxSize, // 文件的最大体积,单位M
          compressSize: 1, // 上传前如果图片体积超过该值，会先压缩,单位M
          maxNum: 32, // 单次最大可上传多少个文件
          compressSide: 0, //等比压缩的基准，0为按照最长边，1为按照宽度，2为按照高度
          compressLength: optImageCompressBorder, //能接受的最大边长，超过该值Flash会自动等比压缩
        };
        //回调函数集合，支持传递函数名的字符串、函数句柄以及函数本身三种类型
        var callbacks = {
          selectFileCallback: function (selectFiles) {
            // 选择文件的回调
            selectedImageCount += selectFiles.length;
            if (selectedImageCount) baidu.g("upload").style.display = "";
            dialog.buttons[0].setDisabled(true); //初始化时置灰确定按钮
          },
          deleteFileCallback: function (delFiles) {
            // 删除文件的回调
            selectedImageCount -= delFiles.length;
            if (!selectedImageCount) {
              baidu.g("upload").style.display = "none";
              dialog.buttons[0].setDisabled(false); //没有选择图片时重新点亮按钮
            }
          },
          uploadCompleteCallback: function (data) {
            // 单个文件上传完成的回调
            try {
              var info = eval("(" + data.info + ")");
              info && imageUrls.push(info);
              selectedImageCount--;
            } catch (e) {}
          },
          uploadErrorCallback: function (data) {
            // 单个文件上传失败的回调,
            console && console.log(data);
          },
          allCompleteCallback: function () {
            // 全部上传完成时的回调
            dialog.buttons[0].setDisabled(false); //上传完毕后点亮按钮
          },
          //exceedFileCallback: 'exceedFileCallback',   // 文件超出限制的最大体积时的回调
          //startUploadCallback: startUploadCallback    // 开始上传某个文件时的回调
        };
        wordImage.init(flashOptions, callbacks);
      });
    </script>
  </body>
</html>
